package com.dudu.access;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class IsMobileNOUtils {
    /**
     * 判断号码是否为手机号
     * 
     * @param mobiles
     * @return
     */
    public boolean isMobileNO(String mobiles) {
	Pattern p = Pattern.compile("^((13[0-9])|(15[0-9])|(17[0-9])|(18[0-9]))\\d{8}$");
	Matcher m = p.matcher(mobiles);
	return m.matches();
    }

    /**
     * 处理传入的电话号码，如果号码为手机号，则前面自动添加“addString”中的字符串
     * 
     * @param mobiles
     *            电话号码（多个电话可以使用‘,’分割）
     * @param addString
     *            号码前需要增加的电话号
     * @return
     */
    public String disposePhoneNum(String mobiles, String addString) {
	// 最终返回的电话号码串
	String mobileNum = "";
	// 拆分传入的电话号码
	String[] mobileAll = mobiles.split(",");
	for (int i = 0; i < mobileAll.length; i++) {
	    String mobileOne = mobileAll[i];
	    // 判断此电话是否为手机号
	    if (isMobileNO(mobileOne)) {
		// 拼电话号码
		mobileOne = addString + mobileOne;

	    } else {

		if (mobileOne.startsWith("0")) {
		    mobileOne = "+86" + mobileOne.substring(1);
		} else {
		    mobileOne = "+86" + mobileOne;
		}

	    }

	    if (i == 0) {
		mobileNum = mobileOne;
	    } else {
		mobileNum = mobileNum + "," + mobileOne;
	    }
	}
	return mobileNum;
    }
}
